package com.canaan.business.domain.storehouse;

import com.canaan.common.annotation.Excel;
import com.canaan.common.annotation.TableName;
import com.canaan.common.core.domain.BaseEntity;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;

/**
 * 出入库记录对象 wms_in_out_storage
 *
 * @author ruoyi
 * @date 2022-11-30
 */
@Data
@TableName("wms_in_out_storage")
public class WmsInOutStorage extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 编号
     */
    @Excel(name = "编号")
    private String no;

    /**
     * 批次号
     */
    @Excel(name = "批次号")
    private String batchNo;

    /**
     * 物料编号
     */
    @NotBlank(message = "物料编号不能为空")
    @Excel(name = "物料编号")
    private String productNo;


    /**
     * 物料名称
     */
    @Excel(name = "物料名称")
    private String productName;


    /**
     * 物料单位
     */
    @Excel(name = "物料单位")
    private String productUnit;

    /**
     * 数量
     */
    @Excel(name = "数量")
    @NotNull(message = "数量不能为空")
    @Positive(message = "数量必须为正整数")
    private Long quantity;

    /**
     * 库位编号
     */
    @Excel(name = "库位编号")
    @NotBlank(message = "库位编号不能为空")
    private String storehouseLocationNo;


    /**
     * 仓库编号
     */
    @Excel(name = "仓库编号")
    @NotBlank(message = "仓库编号不能为空")
    private String storehouseNo;

    /**
     * 区域编号
     */
    @Excel(name = "区域编号")
    @NotBlank(message = "区域编号不能为空")
    private String areaNo;

    /**
     * 条码
     */
    @Excel(name = "条码")
    @NotBlank(message = "条码不能为空")
    private String barcode;



    /**
     * 关联单据编号
     */
    @Excel(name = "关联单据编号")
    private String relNo;

    /**
     * 工单编号
     */
    @Excel(name = "工单编号")
    private String workNo;

    /**
     * 容器编码
     */
    @Excel(name = "容器编码")
    private String containerNo;

    /**
     * 类型：0采购入库
     */
    @Excel(name = "类型：0采购入库")
    private Long type;

    /**
     * 操作：0入库，1出库
     */
    @Excel(name = "操作：0入库，1出库")
    private Long operation;

    /**
     * 出入库业务单号
     */
    @Excel(name = "出入库业务单号")
    private String businessNo;
    /**
     * 托盘号
     */
    private String trayNo;

    private String productQualityMainTaskNo;
}
